Method for continouously processing electronic messages throughout a transition between online and offline states

ABSTRACT

An electronic mail (e-mail) application program includes a configurable, e-mail messaging feature for automatically responding to a portable computer&#39;s transition between online and offline states. The e-mail application program determines the state of a connection between a portable computer and an electronic mail server and processes electronic messages in accordance with the appropriate state. The portable computer&#39;s transition between an online state and an offline state triggers a user-configurable response, designed to permit the continuation of electronic mail message processing in a manner that accommodates the state change. The e-mail application program responds to such a transition by automatically switching between online and offline modes of operation. The e-mail application program can also respond to such a transition by establishing a secondary connection to a mail server when a primary connection is rendered inoperative. A user may configure various aspects of the invention to respond to a transition in a way that accommodates the user&#39;s hardware and/or software requirements.

TECHNICAL FIELD

The present invention relates to a method for sending and receivingelectronic messages, and more particularly relates to an improved methodfor enabling a computer to continually process electronic messages whenthe computer makes a transition between online and offline states.

BACKGROUND OF THE INVENTION

Electronic mail (e-mail) has become an extremely popular communicationsmedium. Computer users have replaced many forms of paper correspondencewith e-mail correspondence to capitalize on the speed and economy ofelectronic communication. The typical office or campus environmentutilizes a Local Area Network (LAN) to connect computer users to acentral e-mail system. Generally, a LAN connection provides a directline of communication between an individual user's computer (remotecomputer) and the e-mail system (mail server). LAN connections areusually hard-wired into a building or across a campus so that all of theremote computers in the network can enjoy the benefits of a directconnection to the server. However, as portable computers have becomemore popular and powerful, users are demanding access to mail serversfrom locations where direct, hard-wired connections are not feasible.

Typically, a connection between the remote computer and the mail servercan be either a direct connection, provided by a Local Area Network(LAN), or a dial-up connection, provided through a modem connection to anetwork node. At work a portable computer user might have a dockingstation that provides a LAN connection. When away from the office withthe portable computer undocked, the user might utilize a modem toconnect to the mail server. A computer network that supports modemconnections is commonly referred to as a dial-up network, because ittypically utilizes a telephone connection between the modem and theserver.

Because a LAN connection is a direct, hard-wired connection, it canprovide high-speed communications capabilities between the mail serverand the remote computer. A remote computer user can connect to the mailserver (go “online”), access his or her mail, send outgoing e-mailmessages, check for and receive incoming e-mail messages, and remainonline for extended periods. As mail is sent to the remote computeruser, via the mail server, the mail server processes and delivers themail to the remote computer user's e-mail server. The remote computerperiodically polls the server to check the user's e-mail mailbox for newincoming e-mail messages.

A dial-up connection provides access to e-mail for remote computer usersthat are located in areas where LAN access to the mail server isunavailable (e.g., at home, at a hotel, etc.). Typically, a dial-upconnection is utilized where the remote computer user wishes to use amodem to connect to the mail server via a telephone connection. Becausethe connection is not direct, communication between the mail server andthe remote computer is slower than with a LAN connection. The remotecomputer user, connected via a dial-up connection, can perform all ofthe operations that could be performed via a LAN connection, but eachoperation usually takes more time.

The remote computer user will typically perform e-mail operations byutilizing an e-mail client application program module (e-mail client)that runs on the remote computer. The e-mail client may communicate withthe mail server to send and receive e-mail messages in a format that isreadable to both the remote computer and the mail server. The mailserver also may have an e-mail application program module operating tocommunicate with the remote computer's e-mail client.

One option that many e-mail clients offer permits the remote computeruser to operate in an offline mode. Offline mode is generally a means bywhich the user can compose e-mail messages and read previously receivede-mail messages, regardless of whether the user's computer is actuallyconnected to a mail server. Communication between the remote computerand the mail server is not attempted by an e-mail client in offlinemode.

In this context, “online state” is used to indicate the existence of anoperable line of communication between a mail server and a remotecomputer, regardless of whether the communication line is being utilizedby an e-mail client. “Online mode” is used to indicate that an e-mailclient running on a remote computer is operating in a manner thatrequires an operable line of communication between a mail server and theremote computer. That is, for the e-mail client to successfully operatein online mode, the remote computer on which the e-mail client isrunning must be in an online state.

Similarly, “offline state” indicates the absence of an operable line ofcommunication between a mail server and a remote computer. “Offlinemode” indicates that an e-mail client running on a remote computer isoperating in a manner that does not require an online state. An offlinemode of operation does not typically require that the remote computer bein an offline state. Unlike online mode, offline mode can besuccessfully implemented by an e-mail client without regard to theonline/offline state of the remote computer.

The ability to process e-mail messages in offline mode is desirable toe-mail users. When a user wants to prepare e-mail messages forsubsequent transmission, the user may do so without having to connect tothe mail server. Where the user doesn't have access to an electronicconnection to the server or the user's server has crashed, thiscapability permits the user to perform his or her composition work andthen send the composed messages, as a batch, at a later time. This modeof operation permits the user to work more efficiently, by not limitingcomposition to only those times that the user is connected to a mailserver.

Offering users the capability of operating in either online or offlinemode has, unfortunately, spawned another problem. Most e-mail clientsare not well equipped to accommodate a transition between online andoffline modes of operation. Consequently, a computer's transitionbetween online and offline states can disrupt effective e-mail messageprocessing.

The typical use of a portable computer presents a representativeillustration of a transition between online and offline states. A usermight have a portable computer that is equipped to operate inconjunction with a docking station. Docking stations are well known tothose skilled in the computer arts and typically provide a base stationfor a portable computer. A docking station often includes such devicesas a power supply, expansion slots, a monitor, a keyboard connector,connectors for CD-ROM, floppy or hard drives, and a LAN connection. TheLAN connection can provide a communication line between the portablecomputer and a mail server.

The portable computer might be docked in a docking station one minuteand undocked the next minute. When a portable computer that isprocessing e-mail messages in online mode is undocked from its dockingstation, the connection between the computer and the mail server will besevered. Most e-mail clients do not provide a means for responding tothis transition between online and offline states. The user will beunable to continue processing e-mail because the e-mail client will beattempting to operate as if the laptop were still connected to the mailserver. In such a case, the user will usually experience an unendingseries of warning messages indicating the loss of a connection to themail server. The user is forced to terminate the e-mail client andeither to restart after reconnecting to the mail server or to restart inoffline mode.

This problem is not limited to the example of a portable computer with adocking station, but can occur with any computer that loses an operatingcommunications line with a mail server. No effective solution to thisproblem has been proffered in the prior art. Indeed, most e-mail clientseither assume that the remote computer user is always in online mode, orallow the remote computer user to select online or offline modes ofoperation, but are unable to accommodate a transition between online andoffline states of operation.

Therefore, there is a need in the art for an improved method ofeffecting a transition between online and offline modes of e-mailprocessing operation where there is a transition between online andoffline states. This method should provide the remote computer user aninterface for configuring the responsive actions to be taken in theevent of a state change. In addition to an improved configurationinterface, the system should provide the capability to automaticallyrespond to the detection that the remote computer has made a transitionbetween online and offline states and to continue to process e-mail inaccordance with a user's configuration settings.

SUMMARY OF THE INVENTION

The present invention satisfies the above-described needs by providingan improved method for continuously processing electronic messagesduring and after a transition between online and offline states. Thepresent invention responds to such a transition by automaticallyswitching between online and offline modes of operation. The presentinvention can be configured to connect to a mail server via a LANconnection when operating in an online mode and via a modem whenoperating in an offline mode. A user may also configure various aspectsof the invention to respond to a transition in a way that accommodatesthe user's hardware and/or software requirements.

In one aspect, the present invention provides a method for effecting aswitch between online and offline modes of electronic messageprocessing. The method includes processing messages in an online mode,while the computer is in an online state. A determination is made thatthe computer has switched from online state to offline state. Inresponse to the determination, the method switches operation from onlinemode to offline mode.

More particularly described, the determination of the transition betweenonline mode and offline mode is a signal that the computer has becomeundocked or disconnected from a mail server. Various aspects of onlinemode and offline mode are definable by user input, stored in aconfiguration file.

In another aspect, the present invention provides a method for effectinga switch between online and offline modes of electronic messageprocessing. The method includes determining the state in which thecomputer is operating. In response to the computer being in a firststate, a first mode of operation is enabled. Where the computer is in asecond state, a second mode of operation is enabled. The presentinvention can automatically switch between operating in an online mode,where communication is effected via a LAN connection, and operating inan offline mode, where subsequent communication is effected via a modemconnection. The method is also able to receive an indication of a changein states and automatically switch modes of operation to accommodate thechange.

In yet another aspect, the present invention provides a method forprocessing electronic messages in a system including a server, aportable computer, and a docking station. The method includes receivinga signal indicating that the portable computer has been docked in thedocking station. Where the portable computer is docked, the methodincludes determining whether an operable connection exists between theportable computer and a mail server, via the docking station. If theconnection is operable, the method includes processing electronicmessages in accordance with an online mode of operation. If theconnection is not operable, the method includes processing electronicmessages in accordance with an offline mode of operation.

The various aspects of the present invention may be more clearlyunderstood and appreciated from a review of the following detaileddescription of the disclosed embodiments and by reference to theappended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a personal computer that provides theoperating environment for an embodiment of the present invention.

FIG. 2 is a diagram illustrating the modular programming architecturethat supports electronic mail messaging in an embodiment of the presentinvention.

FIG. 3 illustrates the information and selections available in anexemplary connection configuration window.

FIG. 4 illustrates the information and selections available in anexemplary dial-up connection configuration window.

FIGS. 5a and 5 b are portions of a flowchart illustrating a method forestablishing a connection between a mail server and a remote computer inaccordance with a predetermined configuration.

DETAILED DESCRIPTION

The present invention is directed to a method for continuouslyprocessing electronic mail (e-mail) messages throughout a computer'stransition between online and offline states of operation. In anexemplary embodiment, an e-mail application program determines the stateof a connection between a portable computer and an electronic mailserver and processes electronic messages in accordance with theappropriate state. The portable computer's transition between an onlinestate and an offline state triggers a user-configurable response,designed to permit the continuation of electronic mail messageprocessing in a manner that accommodates the state change. The e-mailapplication program responds to such a transition by automaticallyswitching between online and offline modes of operation. In oneembodiment, a user may configure various aspects of the invention torespond to a transition in a way that accommodates the user's hardwareand/or software requirements. For example, the user can configure theinvention to communicate with a mail server via a LAN connection whenoperating in an online mode and to communicate with the server via amodem connection when operating in an offline mode.

Referring now to the drawings, in which like numerals represent likeelements throughout the several figures, aspects of the presentinvention and an exemplary operating environment will be described.

AN EXEMPLARY OPERATING ENVIRONMENT

FIG. 1 and the following discussion are intended to provide a brief,general description of a suitable computing environment in which theinvention may be implemented. While the invention will be described inthe general context of an application program that runs on an operatingsystem in conjunction with a personal computer, those skilled in the artwill recognize that the invention also may be implemented in combinationwith other program modules. Generally, program modules include routines,programs, components, data structures, etc. that perform particulartasks or implement particular abstract data types. Moreover, thoseskilled in the art will appreciate that the invention may be practicedwith other computer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

FIG. 1 illustrates a computer system 5, comprising a portable computer10 and a docking station 11, designed under the hierarchical deviceparadigm and is suitable for supporting the operation of an embodimentof the present invention. As shown in FIG. 1, the portable computer 10includes a processor 12, and a system memory 13 (including read onlymemory (ROM) 14 and random access memory (RAM) 15), which is connectedto the processor 12 by a processor data/address bus 16. A BasicInput/Output System (BIOS) 17 for the portable computer 10 is stored inROM 14 and is loaded into a BIOS area 53 of RAM 15 upon booting. Thoseskilled in the art will recognize that the BIOS 17 is a set of basicexecutable routines that have conventionally helped to transferinformation between elements within the portable computer 10.

Within the portable computer 10, a high speed bus 18 is connected to ahigh speed bus controller 19 and the processor data/address bus 16. Inone embodiment, the high speed bus 18 is implemented as a standardPeripheral Component Interconnect (PCI) bus although other standardizedbus architectures may be used, such as the Extended Industry StandardArchitecture (EISA) bus. The high speed bus controller 19 examines allsignals from the processor 12 to route the signals to the appropriatebus. Signals between the processor 12 and the system memory 13 aremerely passed through the high speed bus controller 19. However, signalsfrom the processor 12 intended for devices other than system memory 13are routed onto the high speed bus 18, another level in the hierarchicaldesign of the computer system 5.

Various devices are connected to the high speed bus 18. A hard diskdrive 20 is connected to the high speed bus 18 via a hard disk driveinterface 21. A CD-ROM drive 22, which is used to read a CD-ROM disk 50,is connected to the high speed bus 18 via a CD-ROM interface 23. Thevideo display 24 or other kind of display device is connected to thehigh speed bus 18 via a video adapter 25.

A first low speed bus 26 is connected to the high speed bus 18 by afirst low speed bus controller 27. The first low speed bus 26 isgenerally of lesser or equal speed when compared to that of the highspeed bus 18. In the one embodiment, the first low speed bus 26 isimplemented as an Industry Standard Architecture (ISA) bus althoughother standardized bus architectures may be used.

A number of program modules may be stored in the drives and RAM 15,including an operating system 36, one or more application programs 40,other program modules including an e-mail client 42, and program data43. A user enters commands and information into the portable computer 10by using a keyboard 51 and/or pointing device, such as a mouse 52, whichare connected to the first low speed bus 26 via a serial port interface28. Other input devices (not shown) may include a microphone, joystick,game pad, satellite dish, scanner, and other devices suitable forpositioning a cursor on the video display 24.

As shown in FIG. 1, the portable computer 10 also includes a modem 29.Typically, the modem 29 is connected to a telephone line 230. The modem29 is preferably internal to the portable computer 10 and is connecteddirectly to the first low speed bus 26. Although illustrated in FIG. 1as internal to the portable computer 10, those of ordinary skill in theart will quickly recognize that the modem 29 may also be external to theportable computer 10. The modem 29 is typically used to communicate bytelephone over wide area networks 55, such as the global Internet. Sucha network can provide a connection between the portable computer 10 anda mail server 49. The mail server 49 typically includes many or all ofthe elements described relative to the portable computer 10, by means ofa memory storage device within the mail server (not shown). Moreparticularly, the mail server 49 can include application program modules(not shown) and e-mail clients (not shown) that enable the mail server49 to communicate electronic messages with one or more portablecomputers 10 via logical connections, such as the modem connectiondescribed.

As shown in FIG. 1, a first bridge 30 is connected to the high speed bus18. The first bridge 30 connects to a second bridge 31, which is part ofthe docking station 11, when the user “docks” the portable computer 10into the docking station 11. In this manner, devices in the dockingstation 11 become part of the portable computer 10 and capable of beingcontrolled by the processor 12. Docking stations 11 are well known tothose skilled in the computer arts and typically provide a base stationfor a portable computer 10. A docking station 11 often includes suchdevices as a power supply, expansion slots, a monitor, a keyboardconnector, connectors for CD-ROM, floppy or hard drives, and a LAN ordial-up connection.

Within the docking station 11, a second low speed bus 32 is connected tothe high speed bus 18 by a second low speed bus controller 33. Similarto the first low speed bus 26, the second low speed bus 32 is generallyof less or equal speed when compared to that of the high speed bus 18.In one embodiment the second low speed bus 32 is preferably implementedas an ISA bus although other standardized bus architectures may be used.A network interface 34 is connected to the second low speed bus 32 inthe docking station 11. The network interface 34 is used for connectingto other computers via a local area network 56, such as the mail server49. Those skilled in the art will appreciate that other buses (notshown) may be present in the docking station 11 and that the networkinterface 34 may be capable of communicating with the processor 12 overa higher speed bus (such as a PCI bus) rather than the second low speedbus 32. However, the illustrated buses (the high speed bus 18 and thesecond low speed bus 32) are used exemplary embodiments to support thepresent invention.

Those skilled in the art will understand that software modules and dataare provided to the portable computer 10 via one of the memory storagedevices or computer-readable media, which may include the hard diskdrive 20, floppy disk (not shown), CD-ROM 50, RAM 15, ROM 14, anddigital tapes (not shown). In an exemplary embodiment, these softwaremodules include an operating system 36, application programs 40, and ane-mail client 42. It will be appreciate that the e-mail client 42 may beimplemented as a stand-alone software module or as a component of aDTIM, such as the “MICROSOFT OUTLOOK '98” program. In an exemplaryembodiment, the hard disk drive 20 may be used to store these softwaremodules once they are installed from a CD-ROM 26. Software modules mayalso include files or data structures created during run-time operationsof the computer system 5, such as the program data 43.

Although the above description is directed to a portable computer with adocking station 11, those skilled in the art will appreciate that thepresent invention is not limited to this implementation. Indeed, thepresent invention may be implemented to operate in cooperation with anycomputer that is capable of being connected to and disconnected from aserver via a communications link. A computer can be placed in an offlinestate by various means including: undocking the computer (an “undockevent”), physically disconnecting a LAN or dial-up connection, failureof the server, and a user's command to cease communication. Similarly, acomputer can be placed in an online state by various means including:docking the computer (a “dock event”), a once-failed server becomingavailable to the computer, and a user's command to initiatecommunication. Because the present invention relates to a computer thatis “remote” from a server, the terms “computer,” “remote computer,”“personal computer,” and “portable computer” are used interchangeably.

BASIC ELECTRONIC MAIL OPERATION

The operating system 36 provides the basic interface between thecomputer's resources, the user, and the program modules, such as the“MICROSOFT OUTLOOK '98” program. The operating system 36 provides avariety of functions or services that allow an application program 40 toeasily deal with various types of input/output (I/O) by issuingrelatively simple function calls. Generally described, an applicationprogram 40 communicates with the operating system 36 by callingpredefined functions provided by the operating system 36. The operatingsystem 36 responds by providing the requested information in a messageor by executing the required task.

In the context of the present invention, the primary interaction betweenthe e-mail client 42 and the operating system 36 involves e-mailmessaging related tasks. FIG. 2 depicts a block diagram of an exemplarystructure of an e-mail messaging system that enables the e-mail client42 (FIG. 1) to interact with the operating system 36. An exemplaryoperating system 36 incorporates an application programming interface(API) 57 that permits electronic messaging applications, such as the“MICROSOFT OUTLOOK '98” program, to interact with message serviceproviders 58. Examples of APIs are the Messaging Application ProgrammingInterface (MAPI) and the Outlook Messaging Interface (OMI), both ofwhich are well known to those skilled in the computer arts.

The API 57 permits an e-mail client 42 (FIG. 1) to request and executelower-level services that are performed by the portable computer's 10(FIG. 1) operating system 36. Interfacing the e-mail client 42 (FIG. 1)and the operating system 36 (FIG. 1), by way of the API 57, permitselectronic messages to be communicated between the e-mail client 42(FIG. 1) and the communications resources that are controlled by theoperating system 36. The operating system 36 may, in turn, transmite-mail messages by way of the computer's modem 29 (FIG. 1) or networkinterface 34 (FIG. 1) to a mail server 49 (FIG. 1) via a wide areanetwork 55 (FIG. 1) or a LAN 56 (FIG. 1).

Generally, the e-mail client 42 will require the use of the operatingsystem to perform three functions: sending outgoing e-mail messages;receiving incoming e-mail messages; and resolving names. Therefore, anexemplary operating system will incorporate a level of messaging serviceproviders 58 between the API 57 and the operating system 36 itself.Messaging service providers are drivers that ultimately connect thee-mail client 42 to the operating system 36. Most messaging systemsinclude three types of service providers: message store providers 60,address book providers 63, and message transport providers 62.

The messaging service providers 58 cooperate with the API 57 to createand send e-mail messages in the following way. An e-mail message may becomposed and addressed to one or more recipients. When the e-mail client42 sends the e-mail message, the message store provider 60 checks thateach recipient has a unique and valid address and that the message hasall of the information necessary for transmission to the namedrecipients. The transport provider 62 executes message transmission andreception between the API 57 and the operating system 36. The e-mailmessage is then placed in a message buffer (not shown) for subsequenttransmission.

If there is a question about a recipient, such as can occur when thereare multiple recipients with the same name, the address book provider 63resolves the ambiguity. Resolving names is usually effected by comparingthe names against a list (i.e., address book) that coordinates names toe-mail addresses. This may be done in one of two ways: against addressbooks on the portable computer 10 (FIG. 1) or against address books onthe mail server 49 (FIG. 1). The mail server 49 (FIG. 1) generally has agreater capacity for such address books and is, therefore, generally thepreferred source of comparison. However, when the mail server is notaccessible to the portable computer 10 (FIG. 1), resolving the names ofrecipients will usually be performed only against the lists on theportable computer 10 (FIG. 1).

Consequently, the API/service providers arrangement provides a structureby which an e-mail client 42, such as that included in the “MICROSOFTOUTLOOK '98” program, can request and execute lower-level services, suchas sending messages, receiving messages, and resolving names. Theoperating system 36 ultimately performs these services at the command ofthe service providers 58. The operating system utilizes the serial portinterface 46 (FIG. 1) or the network interface 34 (FIG. 1) to send,receive and resolve names where those services require accessing a mailserver 49 (FIG. 1). Therefore, the status (i.e., availability orunavailability) of an operating communications line at either the serialport interface 46 (FIG. 1) or the network interface 34 (FIG. 1) iscritical to the ability of the e-mail client 42 to perform variouse-mail messaging functions.

The exemplary operating system 36 has the ability to generate a messageto alert all application programs 40 (FIG. 1), including any e-mailclient 42, that the status of the portable computer's 10 (FIG. 1) LAN ordial-up communication line has changed. The operating system determinesthe status of the serial port interface 46 (FIG. 1) and of the networkinterface 34 (FIG. 1), via the system bus 23 (FIG. 1). Specifically, theoperating system is able to indicate that an operating connection to amail server 49 (FIG. 1), for example, has been rendered inoperative orthat an initially inoperative connection to a mail server 49 (FIG. 1)has been rendered operative.

The exemplary operating system notifies applications of a dock or undockevent via a Configuration Change Message (CCM). In an exemplaryembodiment, the operating system sends a Device Change CCM via thesystem bus 23 (FIG. 1), to all currently operating applications. TheDevice Change CCM includes an Event Parameter, which can be set toindicate whether a device is being added or removed.

In the case of a dock event, the Event Parameter of the Device ChangeCCM is set to indicate the addition of a device. The Device Change CCMcan also indicate that the device is a network device, meaning that thedevice can provide the capabilities to communicate via a networkconnection, such as a LAN connection. Thus, the exemplary operatingsystem ultimately notifies the e-mail client 42 (FIG. 1) and otherapplications that a network connection is operative.

In the case of an undock event, the Event Parameter of the Device ChangeCCM is set to indicate the removal of a device. As with the dock event,the Device Change CCM indicates that the device is a network device,meaning that the device can provide the capabilities to communicate viaa network connection. Thus, the exemplary operating system notifies thee-mail client 42 (FIG. 1) and other applications that a networkconnection is no longer operative.

In this context, “online state” is used to indicate the existence of anoperable line of communication between a mail server 49 (FIG. 1) and aportable computer 10 (FIG. 1), regardless of whether an e-mail client 42is actually using the line to communicate with the server. “Online mode”is used to indicate that an e-mail client 42 running on the portablecomputer 10 (FIG. 1) is operating in a manner that requires an operableline of communication between the mail server 49 (FIG. 1) and theportable computer 10 (FIG. 1). That is, for an e-mail client 42 tosuccessfully operate in online mode, the portable computer 10 (FIG. 1)on which the e-mail client 42 is running must be in an online state.

Similarly, “offline state” indicates the absence of an operable line ofcommunication between the mail server 49 (FIG. 1) and the portablecomputer 10 (FIG. 1). “Offline mode” indicates that an e-mail client 42running on the portable computer 10 (FIG. 1) is operating in a mannerthat does not require an online state. An offline mode of operation doesnot require that the portable computer 10 (FIG. 1) is in an offlinestate. Unlike online mode, offline mode can be successfully implementedby an e-mail client 42 without regard to the online/offline state of theportable computer 10 (FIG. 1).

As discussed above, online mode generally requires an operableconnection between the portable computer 10 (FIG. 1) the mail server 49(FIG. 1) (i.e., an online state). Because this operable connectionexists, the e-mail client 42 may perform a variety of e-mail messagingfunctions. Outgoing messages may be sent to a recipient immediately uponsubmission, without being queued. The mail server 49 may be polledperiodically for new, incoming e-mail messages. Names of recipients maybe resolved against address books on the mail server, as necessary.Where the user has chosen to queue outgoing messages, the e-mail client42 may prompt the user to send the messages before exiting from thee-mail client 42. Additionally, the e-mail client 42 may gatherinformation from incoming messages that the user chooses to retain onthe mail server 49 (FIG. 1). This list of e-mail messaging functions isnot exhaustive, but merely illustrative of functions that are generallyassociated with an e-mail client 42 operating in online mode. Whenoperating in online mode, the user will normally be communicating withthe mail server 49 via a LAN connection.

Offline mode does not require an operable connection between theportable computer 10 (FIG. 1) and the mail server. Accordingly, thee-mail messaging functions available to the user of an e-mail client 42operating in offline mode are somewhat limited. Messages are not sentimmediately, but are queued until the next time that the e-mail client42 is operating in online mode, and the portable computer 10 (FIG. 1) isin an online state. The mail server 49 (FIG. 1) is not polled for new,incoming messages; otherwise, each polling attempt would generate awarning message that the server could not be found. Names are notresolved against address books on the mail server 49 (FIG. 1), but onlythose address books on the portable computer 10 (FIG. 1). This list offunctions is not exhaustive, but merely illustrative of functions thatare generally associated with an e-mail client 42 operating in offlinemode. When operating in offline mode, the user will normally becommunicating with the mail server 49 via a modem connection (whencommunication is required).

When the portable computer 10 (FIG. 1) is connected to a mail server 49(FIG. 1) via a dial-up connection, the user can configure the e-mailclient 42 to operate so as to avoid e-mail messaging functions thathinder efficiency because of the lowspeed modem connection. Forinstance, the user may operate the e-mail client 42 in offline modeuntil the user issues a command that requires an operable connectionbetween the portable computer 10 (FIG. 1) and the mail server 49 (FIG.1), such as a send command. The user also may configure the e-mailclient 42 to return to offline mode as soon as the function requiringthe mail server 49 (FIG. 1) connection is completed. Additionally, theuser can prohibit the reception of an e-mail message that is larger thana particular size and would require a longer connection time to downloadfrom the mail server 49 (FIG. 1). Where the dial-up connection isactive, the user may operate in online mode. However, by implementingthe configuration capabilities of the present invention, the user canoptimize e-mail messaging operations by selecting which operations toperform and which to suppress.

While the above description has been directed to the processing ofe-mail messages, it is to be appreciated that the invention can be usedfor any form of electronic messages. Indeed, the “MICROSOFT OUTLOOK '98”program module, which is an exemplary embodiment of the presentinvention, is capable of processing electronic messages that containdata other than data composed as a mail message. Examples of theseelectronic messages include scheduling updates, reminders, and alertsthat are transmitted as electronic data.

AN EMBODIMENT FOR AUTOMATICALLY RESPONDING TO STATE TRANSITIONS

An exemplary embodiment of the present invention is represented by adesktop information management (DTIM) program module called “MICROSOFTOUTLOOK '98” developed by Microsoft Corporation of Redmond, Washingtondesigned to work with Microsoft Corporation's “WINDOWS 95” and “WINDOWSNT 4.0” operating systems. Briefly described, the “MICROSOFT OUTLOOK'98” program module is a DTIM program module that allows users to managetheir own calendar, tasks or “to-do” lists, notes, contacts, andelectronic mail messages via different program modules internal to theDTIM program module.

Each program module maintains information or data about things such asappointments, task lists, mail messages, etc., in specific data items inmemory. This data can be transmitted as electronic messages to otherprogram modules or other computer users. The DTIM program module hascontrol modules that are used to process these electronic messagesbetween the internal program modules and other users via an electronicmessaging system, such as a mail server. The aspect of processingelectronic messages, including electronic mail messages, is the focus ofthe present invention.

The “MICROSOFT OUTLOOK '98” program permits the user to configurevarious attributes of the present invention to accommodate the user'shardware configuration and/or operation preferences. For example, theuser can select whether to send e-mail messages immediately or to queuee-mail messages for later transmission. Similarly, the user may selectwhether the user will primarily connect to a mail server by LAN ordial-up connection. Because the user's configuration preferences areestablished in advance, the transition between online mode and offlinemode can be made to conform to the user's selections. FIGS. 3 and 4depict exemplary user interface windows that permit the user to select aconfiguration that conforms e-mail operations to the user's preferences.After a discussion of the user interface windows, an exemplaryembodiment will be discussed, in connection with FIGS. 5a and 5 b, inwhich the effects of the user's configuration choices are made apparentin the context of subsequent e-mail operations.

In order for the e-mail client 42 (FIG. 1) to operate in online mode,the user must establish an online state (i.e., an operable connectionbetween the portable computer 10 (FIG. 1) and a mail server 49 (FIG.1)). The “MICROSOFT OUTLOOK '98” program establishes an online state inaccordance with a user configuration file that is generated by use of auser configuration window.

FIG. 3 illustrates an exemplary Connection Configuration Window (CCW)300, which is provided by the “MICROSOFT OUTLOOK '98” program. The CCW300 is displayed when the user performs an initial configurationprocedure to customize the “MICROSOFT OUTLOOK '98” program to meet theuser's e-mail messaging requirements. The e-mail connection portion ofthe CCW 300 is presented to the user when the user selects theconnection tab 301 from a grouping of tabs within the CCW 300.

Referring still to FIG. 3, the CCW 300 includes a connection dialog box322 that permits the user to select a primary connection to the serverand, where appropriate, to select a secondary connection to the server.The CCW 300 also includes a modem dialog box 324 that permits the userto configure an e-mail client 42 (FIG. 1) to accommodate the hardwarespecifications of various modem types, where a modem is used as aprimary or secondary connection to a mail server. After the user hasinput the configuration selections in the CCW 300, the user may savethose selections in a configuration file that can be accessed by ane-mail client 42 (FIG. 1) to conform its operations thereto. The usercan save the configuration selections by selecting the “OK” button 318.Alternatively, the user can cancel selections made in the CCW 300 byselecting the “Cancel” button 320.

The connection dialog box 322, in the CCW 300, includes several buttons(304, 306, 308), which permit the user to select one of three connectiontypes that will serve as the user's primary connection to a mail server.Selection of the LAN button 302 indicates that the user intends toaccess a mail server primarily by LAN connection (e.g., the networkinterface 34 (FIG. 1)). Selection of the dial-up button 306 indicatesthat the user intends to access a mail server primarily by dial-upconnection to a wide area network 55 (FIG. 1). Finally, selection of themanual button 308 indicates that the user intends to establish aconnection to the mail server 49 (FIG. 1) by some other means (e.g., amodem connection established by a separate application program) andwishes for the e-mail client 42 (FIG. 1) to merely utilize the existingconnection. Functionally, this connection is equivalent to a LANconnection.

If the user selects the LAN button 302, the “MICROSOFT OUTLOOK '98”program will define the LAN connection as the primary e-mail connectionand will look to the computer's network interface 34 (FIG. 1) for a LANcommunication link to a mail server, when a command requiring mailserver 49 (FIG. 1) access is issued. As described in connection withFIG. 1 and FIG. 2, such commands include commands to send e-mailmessages, receive e-mail messages, and resolve names against addressbooks on a mail server 49 (FIG. 1). When the LAN connection isavailable, the e-mail client 42 (FIG. 1) will utilize the connection tosend and receive e-mail messages, and resolve names. However, when theLAN connection is not available, the CCW 300 allows the user to select adial-up connection (modem connection) as a secondary connection. Theuser defines the secondary connection by selecting the LAN connectionbutton 302 as well as the secondary dial-up network checkbox 304. Theprocedure that the e-mail client 42 (FIG. 1) will follow in response tothese commands will be described in more detail below, in connectionwith FIGS. 6a and 6 b.

If the user selects the connect manually button 308, the “MICROSOFTOUTLOOK '98” program will not perform any connection steps, but willrely on a preexisting connection. Instead of controlling a modem, the“MICROSOFT OUTLOOK '98” program will perform handshaking functions as ifit were communicating via a LAN connection. If a LAN connection is notavailable and if a modem connection has not been established beforestarting the program, the handshaking will fail.

If the user selects the dial-up button 306 (labeled “Connect using myphone line), the e-mail client 42 (FIG. 1) will define the dial-upconnection as the primary e-mail connection and will look to thecomputer's serial port interface 46 (FIG. 1) for a dial-up connection toa mail server 49 (FIG. 1), when a command requiring access to the mailserver 49 (FIG. 1) is issued. As described in connection with FIG. 1 andFIG. 2, such commands include commands to send e-mail messages, receivee-mail messages, and resolve names against address books on a mailserver 49 (FIG. 1). The procedure that the e-mail client 42 (FIG. 1)will follow in response to these commands will be described in moredetail below, in connection with FIGS. 6a and 6 b.

The CCW 300 also includes a modem dialog box 324. This box is disabledunless the user selects a dial-up connection (modem connection) aseither a primary or secondary connection. The modem dialog box 324simply allows the user to configure the “MICROSOFT OUTLOOK '98” programto accommodate the requirements of the modem 29 (FIG. 1) that will beutilized to establish the dial-up connection. The user can add modemconfiguration files to the list by selecting the add button 314 andconfigure modem configuration files on the list by selecting theproperties button 312. By pressing the expose list button 316, the usercan review the entire list of modem configurations available forestablishing a dial-up connection.

FIG. 4 illustrates an exemplary Mail Delivery Window (MDW) 400, which isprovided by the “MICROSOFT OUTLOOK '98” program. The MDW 400 isdisplayed when the user performs an initial configuration procedure tocustomize the “MICROSOFT OUTLOOK '98” program to meet the user's e-mailmessaging requirements. The e-mail connection portion of the MDW 400 ispresented to the user when the user selects the mail delivery tab 401from a grouping of tabs within the MDW 400.

Referring still to FIG. 4, the MDW 400 includes a list of four optionsthat permit the user to select various attributes affecting theoperation of the program while performing e-mail operations via adial-up connection. After the user has input the configurationselections in the MDW 400, the user may save those selections in aconfiguration file that can be accessed by an e-mail client 42 (FIG. 1)to conform its operations thereto. The user can save the configurationselections by selecting the “OK” button 418. Alternatively, the user cancancel selections made in the MDW 400 by selecting the “Cancel” button420. The four options are elected by selecting check-boxes (402, 403,404, and 405) corresponding to the option desired.

The first check-box, the warn before switching box 402, will cause the“MICROSOFT OUTLOOK '98” program to generate a warning when selected. Thewarning will be generated before the program switches between dial-upconnections. For example, referring back to FIG. 3, the user can definethe parameters of a dial-up connection by selecting the propertiesbutton 312 (FIG. 3) in the CCW 300. One parameter is the circumstancesin which a particular dial-up connection is used. A user may use a firstdial-up connection for a primary e-mail account and a second dial-upconnection for secondary e-mail account. If the user decides to checkthe secondary e-mail account, but the user is connected to a mail servervia the first dial-up connection, the program will attempt to disconnectthe first connection and establish the second connection. Selecting thewarn before switching box 402 will generate a warning and prompt theuser to for permission before proceeding to switch between dial-upconnections.

The second check-box, the hang-up when finished box 404, will disconnectthe dial-up connection when certain e-mail operations have beencompleted via the dial-up connection. As will be discussed below inconnection with FIGS. 5a and 5 b, the user will generally want tominimize the time spent connected to a mail server 49 (FIG. 1) via adial-up connection. Accordingly, the “MICROSOFT OUTLOOK '98” program canbe configured to disconnect immediately after completing e-mailoperations that require a dial-up connection. Thus, the user does nothave to monitor the progress of these operations in order to manuallydisconnect when the operations are completed. If the user does notselect this check-box, the program will maintain the dial-up connectionuntil the user affirmatively terminates the dial-up connection.

The third check-box, the auto-dial enable box 406, will establish adial-up connection when the dial-up connection is selected as theprimary or secondary mail server connection in the CCW 300 (FIG. 3) anda “check messages” command is issued. The check messages command isissued by the “MICROSOFT OUTLOOK '98” program periodically, when theuser has configured the program to check for new incoming messages on aperiodic basis (e.g., every thirty minutes). When the user is connectedto the mail server 49 (FIG. 1) via a LAN connection, this does notpresent a problem, because mail checking is done in the background(i.e., the user does not see the operation occur) over the existingconnection. However, where the mail server is to be connected via adial-up connection, the user may want to suspend the automatic mailchecking operation so that the program doesn't automatically dial out onthe user's telephone line. Leaving the check-box unselected will suspendmail checking when the dial-up connection is not operative.

The final check-box, the limit message size box 408, merely assists inminimizing the time that the user is connected to the mail server 49(FIG. 1) via a dial-up connection. When the user receives a message thatis larger than a selectable size, the “MICROSOFT OUTLOOK '98” programwill not download the message. This is especially advantageous fordial-up connection users, because a large message can prolong the timethe user must be connected to the mail server 49 (FIG. 1) via thedial-up connection. Where the dial-up connection is made over atelephone line that is otherwise busy or that is expensive to maintain,large messages can consume valuable time.

A CONFIGURABLE EMBODIMENT

FIGS. 5a and 5 b depict a flowchart that is broken into two figures forsimplicity. This flowchart illustrates the behavior of the “MICROSOFTOUTLOOK '98” program in response to the configuration parameters setaccording to the above description and in response to variouscircumstances common to e-mail processing operation. This flowchart isdirected to the situation in which the user has selected a LANconnection as the primary e-mail server 49 (FIG. 1) connection and hasselected the dial-up (modem) connection as the secondary connection.However, as a preface to this description, a brief discussion iswarranted addressing the behavior of the “MICROSOFT OUTLOOK '98” programin the cases where the user has selected only a LAN connection or only adial-up connection to communicate with the mail server 49 (FIG. 1). Inthese cases, the program will not switch between dial-up and LANconnections to the mail server 49 (FIG. 1).

LAN-Only Operation When the user has selected the LAN connection button302 in the CCW 300 (FIG. 3), but has not selected the secondary dial-upnetwork checkbox 304, the “MICROSOFT OUTLOOK '98” program will operatein LAN-only mode. This mode will never seek to establish a connection tothe mail server 49 (FIG. 1), via a dial-up connection. Therefore, if theLAN connection is unavailable or the mail server 49 (FIG. 1) cannot beconnected to via the LAN connection for some other reason, the programwill simply be unable to enter the online mode of operation.

Accordingly, the “MICROSOFT OUTLOOK '98” program will check the LANconnection upon starting-up (i.e., boot). If the LAN connection to themail server 49 (FIG. 1) is operational, then the program will send andreceive mail via the LAN connection and then enter online mode.Periodically, the program will poll the mail server 49 (FIG. 1) in thebackground for any new incoming messages. If any new messages areavailable, or if the user demands to send or receive a message, the LANconnection is checked and the message transfer is completed, if theconnection is operational. If the connection is not operational, then anerror message is recorded in an error log file and the program simplyremains in online mode.

The program will enter offline mode if the user undocks the portablecomputer 10 (FIG. 1) or if the user toggles a “Work Offline” commandfrom FALSE to TRUE, which indicates the user's desire to disconnect fromthe mail server 49 (FIG. 1). Once in offline mode, the program willsuppress background polling of the mail server 49 (FIG. 1) and willreturn to online mode only if the user makes an affirmative attempt toimmediately send or receive messages, the user toggles the Work Offlinecommand to FALSE, or a dock event occurs. The details of the LAN-onlymode of operation will become more apparent in the context of thefollowing discussion of FIGS. 5a and 5 b.

Dial-Up-Only Operation

When the user has selected the dial-up button 306 in the CCW 300 (FIG.3), the “MICROSOFT OUTLOOK '98” program will operate in dial-up-onlymode. This mode will never seek to establish a connection to the mailserver 49 (FIG. 1), via LAN connection. Therefore, if he dial-upconnection is unavailable or the mail server 49 (FIG. 1) cannot beconnected to via the dial-up connection for some other reason, theprogram will simply be unable to enter the online mode of operation.

When the user issues a command to immediately send or receive messagesat step 518, the method branches to decision block 552 (via connectors524 and 550) which checks the LAN connection's operability. If the LANconnection is operative, the method branches to step 554 and e-mailmessages are transferred as described above. The method then branchesback to online mode at step 508 (via connectors 556 and 510).

The program will enter offline mode if the user undocks the portablecomputer 10 (FIG. 1) or if the user toggles the Work Offline command toTRUE, which indicates the user's desire to disconnect from the mailserver 49 (FIG. 1). Once in offline mode, the program will suppressbackground polling of the mail server 49 (FIG. 1) unless the user hasselected the auto-dial enable box 406 (FIG. 4). The program will returnto online mode only if the user makes an affirmative attempt toimmediately send or receive messages, the user toggles the Work Offlinecommand to FALSE, or a dock event occurs. The details of thedial-up-only mode of operation will become more apparent in the contextof the following discussion of FIGS. 5a and 5 b.

LAN with Dial-Up Backup Operation Referring now to FIGS. 5a and 5 b, thebehavior of the “MICROSOFT OUTLOOK '98” program will be described wherethe user has selected a LAN connection as the primary connection fore-mail operations and has selected a dial-up connection as a secondaryconnection. FIGS. 5a and 5 b depict a single, bifurcated flowchart whichdepicts an exemplary method of the present invention. The LAN withdial-up backup configuration is enabled by selecting the LAN connectionbutton 302 and the secondary dial-up network checkbox 304 in the CCW300. This configuration provides the program the ability to maintainstable e-mail operations even if the user loses the primary LANconnection.

The method starts at step 500, which represents the start-up of the“MICROSOFT OUTLOOK '98” program. The method then branches to decisionblock 502, at which a determination is made as to whether the LANconnection to the server is operational. If the LAN connection isoperational, the method branches to block 506 in which the mail istransferred between the portable computer 10 (FIG. 1) and the mailserver 49 (FIG. 1). In this step, any outgoing mail is sent to the mailserver 49 (FIG. 1) and any incoming mail that has been stored on themail server 49 (FIG. 1) is sent to the portable computer 10 (FIG. 1).The method then branches to step 508 in which the program enters onlinemode. While in online mode, the method is responsive to a periodicbackground poll and to actions taken by the user.

Step 512 represents the method's responsiveness to any of the actionsrepresented by blocks 514, 516, 518, and 520. Step 514 is an undockevent, meaning that the portable computer 10 (FIG. 1) is undocked fromits docking station 11 (FIG. 1). In response to the undock event, themethod branches to offline mode at step 574 (via connectors 522 and572). If the user toggles the Work Offline command to TRUE, the methodbranches to step 520, and on to offline mode at step 574 (via connectors526 and 572). Where the user has configured the program to periodicallycheck for messages, the method branches to step 516 and performs abackground poll of the mail server 49 (FIG. 1) by branching to decisionblock 530, which checks the LAN connection's operability. If the LANconnection is operable, then the method branches to step 532 andtransfers mail as described above. If, on the other hand, the LANconnection is not operable, the method branches to step 528 and recordsan error message in a log file. The method branches from both steps 528and 532 back to online mode at step 508. Step 518 represents the useraction of issuing a command to immediately send or receive messages.

When the user issues a command to immediately send or receive messagesat step 518, the method branches to decision block 522 (via connectors524 and 550) which checks the LAN connection's operability. If the LANconnection is operative, the method branches to step 554 and e-mailmessages are transferred as described above. The method then branchesback to online mode at step 508 (via connectors 556 and 510).

If the LAN connection is not operative, the method branches to decisionblock 560 where a determination is made as to whether the dial-upconnection has been selected as a secondary connection. Incidentally,step 560 is also reached (via connectors 504 and 559) if the decisionblock at step 502 determines that the LAN connection is initially (i.e.,at start up) inoperative. If the dial-up connection has not beenselected as a secondary connection, the method branches to offline modeat step 574 (via connectors 558 and 572). If, on the other hand, thesecondary dial-up connection has been enabled, the method branches tostep 562 and calls the mail server 49 (FIG. 1), via the dial-upconnection. Once the dial-up connection has been established, the methodbranches to step 564 and any available e-mail messages are transferred.The method then branches to decision block 568, which determines whetherthe user has configured the program to terminate the dial-up connectionafter the available mail has been transferred. If not, the programbranches to online mode at step 508 (via connectors 570 and 510). If theuser has configured the program to terminate the dial-up connection,then the method branches to step 576 and hangs-up the dial-upconnection. The method then branches to offline mode at step 574.

As discussed above, offline mode at step 574 can also be reached fromwhen the user affirmatively elects to operate in offline mode (step520), when an undock event occurs (step 514), or when the LAN connectionis inoperative and a dial-up connection has not been designated as asecondary connection (step 560). As with online mode, in offline modethe method is responsive to any one of four events. This responsivenessis represented by step 578, which provides branches to steps 580, 582,584, and 586.

If the user toggles the Work Offline command to FALSE (step 584) or adock event occurs (step 586) the method branches to online mode at step508 (via connectors 596 and 510 or 598 and 510, respectively). If theuser issues a command to immediately send or receive messages (step582), then the method branches to decision block 592 and determineswhether a dial-up connection is active. If the dial-up connection isinactive, the method branches to establish a dial-up connection to themail server 49 (FIG. 1) at step 562 (via connectors 594 and 566). If, onthe other hand, a dial-up connection is active, the method branches tostep 591 to transfer the available mail and then branches to step 508 toremain in online mode (via connectors 593 and 510).

The final action to which the method is responsive while in offline modeis the background poll (step 580). Where the program is set up to keepchecking for new messages using a background poll, the method willbranch to step 580. The method will then branch to decision block 590 todetermine whether the user has configured the program to automaticallyestablish a dial-up connection in order to check for new messages. Whenthe program is not so configured, the method will do nothing 589, merelybranching back to offline mode at step 574 (via connectors 595 and 572).

The flowchart depicted in FIGS. 5a and 5 b illustrates the behavior ofthe “MICROSOFT OUTLOOK '98” program, where the program is configured toutilize a dial-up connection in the event of a failure to connect via aLAN connection. However, many of the behaviors apply to the dial-up-onlyand LAN-only modes of operation discussed above. Notably, all threemodes incorporate the online mode and offline modes of operation.

REVIEW OF THE DETAILED DESCRIPTION

From the foregoing description, it will be appreciated that the presentinvention provides an improved method for continuously processingelectronic mail (e-mail) messages during and after a transition betweenonline and offline states. In an exemplary embodiment, the e-mailmessaging features of the “MICROSOFT OUTLOOK '98” program provide auser-configurable means for responding to both unexpected and voluntarylosses of mail server access. Additionally, the “MICROSOFT OUTLOOK '98”program can respond to newly established connections to a mail server.

During the initial configuration, the user can choose the primary modeof communication between the portable computer and the mail server.Examples of connections are LAN and dial-up connections. The user alsocan establish a secondary connection which will be utilized in caseswhere the primary connection is unavailable. The user can also configurethe “MICROSOFT OUTLOOK '98” program to perform or suppress certaine-mail messaging functions in order to optimize the performance of the“MICROSOFT OUTLOOK '98” program to accommodate the characteristics ofthe primary and/or secondary connections selected.

The present invention smoothes the transition from online to offlinestate by making the transition more transparent to the user and allowingthe user to continue e-mail message processing, despite the transition.Where the user issues a command that is inconsistent with the presentmode of e-mail messaging operation, the invention can switch modes ofoperation to accommodate the command. Additionally, the user mayconfigure the invention to prompt the user before proceeding to switchmodes of operation.

The present invention has been described in various exemplaryembodiments, and particularly as an integrated e-mail messaging featureof the “MICROSOFT OUTLOOK '98” program. However, those skilled in thecomputer arts will appreciate that the invention is not limited to thedescribed embodiments, but can be implemented in various embodimentsincluding stand-alone e-mail clients. Alternative embodiments willbecome apparent to those skilled in the art to which the presentinvention pertains without departing from its spirit and scope.Accordingly, the scope of the present invention is defined by theappended claims rather than the foregoing description.

What is claimed is:
 1. A computer-readable medium havingcomputer-executable instructions for automatically effecting a switchbetween online and offline modes of electronic message processing, inresponse to a computer making a transition between online and offlinestates, comprising the steps of: processing electronic messages inaccordance with the online mode, the online mode being capable ofprocessing electronic messages in cooperation with a server, when thecomputer is in the online state, comprising the steps of: polling theserver for a new electronic message, resolving an electronic messagename against an address book on the server, immediately sending anoutgoing electronic message, and immediately receiving an incomingelectronic message; determining that the computer has made a transitionfrom the online state to the offline state; and in response to thedetermination that the computer has made a transition from the onlinestate to the offline state, automatically switching to processingelectronic messages in accordance with the offline mode, comprising thesteps of: queuing outgoing electronic messages for subsequent sending;resolving electronic message names against an address book on thecomputer; and suppressing polling of the server for new electronicmessages.
 2. The computer-readable medium of claim 1, wherein thedetermining step comprises making a determination that the computer hasbeen undocked from a docking station.
 3. The computer-readable medium ofclaim 1, wherein the determining step comprises making a determinationthat the computer has been disconnected from the server.
 4. Thecomputer-readable medium of claim 1, wherein the online mode is definedby a configuration file, at least a portion of the configuration filebeing determined by receiving a first input set.
 5. Thecomputer-readable medium of claim 1, wherein the offline mode is definedby a configuration file, at least a portion of the configuration filebeing determined by receiving a second input set.
 6. Thecomputer-readable medium of claim 1, wherein the step of processingelectronic messages in accordance with the offline mode furthercomprises the steps of: establishing a secondary connection to theserver; and in response to establishing the secondary connection to theserver, processing electronic messages in accordance with the onlinemode.
 7. The computer-readable medium of claim 6, wherein the secondaryconnection is a dial-up connection.